"""
多线程适用于io密集型 多进程使用cpu密集型
爬虫主要是网络io
"""
import time
import threading

def get_list_html():
    print('开始获取列表页')
    time.sleep(2) # 模拟网络请求
    print('已经获取到列表页')

def get_detail_html():
    print('开始获取详情页')
    time.sleep(2)
    print('已经获取到详情页')

start_time = time.time()
# 子线程
t1 = threading.Thread(target=get_list_html)
t2 = threading.Thread(target=get_detail_html)
# 需求1 ：主线程不等待子线程结束，主线程结束子线程也结束（守护线程）
t1.setDaemon(True)
t2.setDaemon(True)
t1.start()
t2.start()
# 需求2 ：需要在子线程没有运行结束时，主线程不要运行
# t1.join()
# t2.join()

print(time.time() - start_time)